package com.tj.tj_java.utils;

import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;
import java.util.Random;

/**
 * 验证码工具
 */
@Component
@Slf4j
public  class VerificationCodeUtils {

    // 依赖注入 发送邮件要用到的 bean对象
    @Resource
    private JavaMailSender javaMailSender;

    //读取yml文件中username的值并赋值给form
    @Value("${spring.mail.username}")
    private String from;

    //发送邮箱 mail是邮箱接收者的邮箱
    public int sendCode(String mail) {
        System.out.println("邮箱工具类->"+from);
        //log.info("from" + from);
        // 构建一个邮件对象
        SimpleMailMessage message = new SimpleMailMessage();
        // 设置邮件发送者
        message.setFrom("1203878523@qq.com");
        // 设置邮件接收者
        message.setTo(mail);
        // 设置邮件的主题
        message.setSubject("(✿╹◡╹)注册验证码");
        // 设置邮件的正文(随机生成验证码)随机数
        Random rand = new Random();
        int code = rand.nextInt(900000) + 100000; // 生成一个100000到999999之间的随机数
        String text = "您的验证码为：" + code + ",请勿泄露给他人。";
        //设置发送内容
        message.setText(text);
        // 发送邮件
        javaMailSender.send(message);
        return code;
    }
}
